package packLigaDeFutbol;

import java.sql.SQLException;

public class GestorActuaciones {

	//ATRIBUTOS

	private static GestorActuaciones miGestor;

	//CONSTRUCTORA
	private GestorActuaciones(){

	}

	//METODOS
	public static GestorActuaciones get(){
		if (miGestor == null) 
			miGestor = new GestorActuaciones();

		return miGestor;
	}


	//hector
	public boolean crearActuacion(int pIdPartido, int pidJugador, int idTipo, int minuto) {
		boolean ret = false;

		String str = "INSERT INTO actuacion(idPartido, idJugador, idTipo, minuto) " + 
				"VALUES(" + pIdPartido + "," + 
				pidJugador + " ," +
				idTipo + " ," +
				minuto + ")";
		try{

			Principal.BBDD.insertar(str);
			ret = true;

		} catch(SQLException e) {
			e.printStackTrace();
		}
		return ret;
	}

	public boolean crearAplazamiento(int pIdPartido, int pIdJornada, int pIdArbitro){
		Boolean ret = crearActuacion(pIdPartido, 0, 5, 0);

		if (ret){
			String strSQL = "UPDATE partido "
					+ "SET partido.fecha = (SELECT DATE_FORMAT(fecha,'%Y-%m-%d') FROM jornada "
					+ "WHERE idJornada = " + pIdJornada + "), "
					+ "partido.idArbitro = " + pIdArbitro  + " "
					+ "WHERE idPartido = " + pIdPartido;

			try {
				ret = false;
				Principal.BBDD.actualizar(strSQL);
				ret = true;
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		return ret;
	}

	//hector
	public int crearActuacionYDevolverID(int pIdPartido, int pidJugador, int idTipo, int minuto) {
		int res = -1;

		String str = "INSERT INTO actuacion(idPartido, idJugador, idTipo, minuto) " + 
				"VALUES(" + pIdPartido + "," + 
				pidJugador + " ," +
				idTipo + " ," +
				minuto + ")";
		try{		
			res = Principal.BBDD.ultimoID(str);
		} catch(SQLException e) {
			e.printStackTrace();
		}
		return res;
	}

	//hector
	public boolean crearCambio(int pidJugadorEntra, int pidActuacion) {
		boolean ret = false;

		String str = "INSERT INTO cambio(idJugadorEntra, idActuacion) " + 
				"VALUES(" + pidJugadorEntra + "," + 
				pidActuacion + ")";
		try{

			Principal.BBDD.insertar(str);
			ret = true;

		} catch(SQLException e) {
			e.printStackTrace();
		}
		return ret;
	}

	

	//hector
	public void eliminarActuacion(int idActuacion) {
		String strSQL = "DELETE FROM actuacion WHERE idActuacion = " + idActuacion;

		try {

			Principal.BBDD.borrar(strSQL);

		} catch (SQLException ex) {
			System.out.println("eliminarActuacion:");
			System.out.println("SQLException: " + ex.getMessage());
			System.out.println("SQLState: " + ex.getSQLState());
			System.out.println("VendorError: " + ex.getErrorCode());
		}
	}

}
